﻿//using namespace std;
//#include <iostream>
//
//const int Q = 1e5 + 10;
//int e[Q], ne[Q], pre[Q], id, h;
//int mp[Q];
//
//int main()
//{
//	h = 0;
//	id++;
//	e[id] = 1;
//	mp[1] = id;
//
//	ne[id] = h;
//	pre[id] = h;
//	ne[h] = id;
//	pre[h] = id;
//
//	int N;
//	cin >> N;
//	//插入
//	int k, p;
//	for(int j = 2; j <= N; j++)
//	{
//		cin >> k >> p;
//		int p1 = mp[k];
//		if (p == 0)
//		{
//			id++;
//			e[id] = j;
//			mp[j] = id;
//
//			ne[id] = p1;
//			pre[id] = pre[p1];
//			ne[pre[p1]] = id;
//			pre[p1] = id;
//		}
//		else
//		{
//			id++;
//			e[id] = j;
//			mp[j] = id;
//
//			ne[id] = ne[p1];
//			pre[id] = p1;
//			pre[ne[p1]] = id;
//			ne[p1] = id;
//		}
//    }
//
//	//删除  
//	int M, x;
//	cin >> M;
//	while (M--)
//	{
//		cin >> x;
//		int p2 = mp[x];
//		if (p2 != 0)
//		{
//			ne[pre[p2]] = ne[p2];
//			pre[ne[p2]] = pre[p2];
//			//删除标记
//			mp[x] = 0;
//		}
//	}
//
//	//输出  
//	for (int i = ne[0]; i; i = ne[i])
//	{
//		cout << e[i] << " ";
//	}
//	return 0;
//}

//using namespace std;
//#include <iostream>
//
//const int Q = 1e5 + 10;
//int ne[Q], pre[Q], h;
//bool st[Q]; //用来标记x位置是否被删除
//
//int main()
//{
//	ne[1] = h;
//	pre[1] = h;
//	ne[h] = 1;
//	pre[h] = 1;
//
//	int N;
//	cin >> N;
//	插入
//	int k, p;
//	for (int j = 2; j <= N; j++)
//	{
//		cin >> k >> p;
//		if (p == 0)
//		{
//			ne[j] = k;
//			pre[j] = pre[k];
//			ne[pre[k]] = j;
//			pre[k] = j;
//		}
//		else
//		{
//			ne[j] = ne[k];
//			pre[j] = k;
//			pre[ne[k]] = j;
//			ne[k] = j;
//		}
//	}
//
//	删除  
//	int M, x;
//
//	cin >> M;
//	while (M--)
//	{
//		cin >> x;
//		if (st[x] == true)
//			continue;
//	    ne[pre[x]] = ne[x];
//	    pre[ne[x]] = pre[x];
//		st[x] = true;
//	}
//
//	输出  
//	for (int i = ne[h]; i; i = ne[i])
//	{
//		cout << i << " ";
//	}
//	return 0;
//}


using namespace std;
#include <iostream>

const int N = 100 + 10;
int e[N], ne[N], pre[N], id, h;

int main()
{
	int m, n;
	cin >> n >> m;
	//初始化
	e[0] = 1;
	ne[0] = 0;
	pre[0] = 0;
	for (int i = 1; i < n; i++)
	{
		e[i] = i + 1;

		ne[i] = 0;
		pre[i] = i - 1;
		pre[h] = i;
		ne[i - 1] = i;
	}
	
	//循环打印删除
	int cur = 0;
	while (n--)
	{
		int tmp = m;
		while (--tmp)
		{
			cur = ne[cur];
		}
		cout << e[cur] << " ";
		//删除cur所在结点
		ne[pre[cur]] = ne[cur];
		pre[ne[cur]] = pre[cur];
		cur = ne[cur];
	}
	return 0;
}

//4 8 12 16 20 24 28 32 36 40 44 48 2 7 13 18 23 
//29 34 39 45 50 6 14 21 27 35 42 49 9 17 26 37 46 
//5 19 31 43 10 25 41 11 33 3 38 22 15 30 1 47